package com.aopdemo;

import com.aopdemo.service.OrderService;
// 确保添加以下所有导入语句
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.EnableAspectJAutoProxy;

@EnableAspectJAutoProxy // 启用AOP代理
@ComponentScan(basePackages = "com.aopdemo") // 扫描组件
public class MainApp {
    public static void main(String[] args) {
        // 初始化Spring容器
        AnnotationConfigApplicationContext context =
                new AnnotationConfigApplicationContext(MainApp.class);

        // 获取服务实例
        OrderService orderService = context.getBean(OrderService.class);

        // 测试add方法
        System.out.println("=== 测试add方法 ===");
        try {
            orderService.add("笔记本电脑", 2);
        } catch (Exception e) {
            System.out.println("add方法执行异常: " + e.getMessage());
        }

        // 测试delete方法
        System.out.println("\n=== 测试delete方法 ===");
        try {
            orderService.delete("手机");
        } catch (Exception e) {
            System.out.println("delete方法执行异常: " + e.getMessage());
        }

        // 测试find方法
        System.out.println("\n=== 测试find方法 ===");
        try {
            orderService.find("平板电脑");
        } catch (Exception e) {
            System.out.println("find方法执行异常: " + e.getMessage());
        }

        // 关闭容器
        context.close();
    }
}
